#include<iostream>
#include<memory>
#include<future>
#include<thread>

using namespace std;

int Add(int num1, int num2) {
    std::cout << "into add!\n";
    return num1 + num2;
}

int main()
{
    // 1.实例化promise对象
    promise<int> pro;
    //2.通过实例化对象获取future关联对象
    future<int> res=pro.get_future();
    //3.通过关联对象获取promise数据
    thread t([&pro](){
        int num=Add(11,22);
        pro.set_value(num);
    });
    cout<<res.get()<<endl;
    t.join();
    return 0;
}